home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Languguage OS 2
/
Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO
/
language
/
embedded
/
mcu
/
float09.arc
/
WARTS.SA
< prev
Wrap
Text File
|
1987-03-04
|
6KB
|
195 lines
* THIS FILE CONTAINS THE KNOWN WARTS TO THE AUG 15TH
* TEST SITE RELEASE. MOST ARE NOT SIGNIFICANT ENOUGH
* TO ISSUE A 'PATCH' TO THE EPROMS AND CAN EASILY BE
* AVOIDED. IF A PATCH IS DEEMED DESIREABLE IT IS
* GIVEN HERE TOO.
*
PROBLEM 1:
THE OUTPUT ROUTINE DOES NOT GENERATE A $0F FOR A
NEGATIVE SIGN FOR AN EXPONENT OR FRACTION. INSTEAD
IT GENERATES AN $FF.
DATE FIXED: 20.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
INSERTED EQUATE IN BINSTR TO SET THE
SIGN PROPERLY.
*
PROBLEM 2: FABS AND FNEG WILL RETURN GARBAGE OUT IF
PASSED THEY ARE PASSED A DENORMALIZED NUMBER
WITH THE 'NORM' BIT SET IN THE FPCB.
DATE FIXED: 18.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
FABS & FNEG NOW INVOKE THE COMPONENT
ROUTINE RTAR2 TO MOVE THE ARGUMENT TO THE RESULT.
THE REQUIRED CHECKS FOR THE APPARENT UNDERFLOW
CONDITION ARE PERFORMED IN RTAR2.
*
PROBLEM 3: COMPARE OF AN UNORMAL ZERO WITH A NORMAL
ZERO DOES NOT COMPARE EQUAL AS IT SHOULD.
DATE FIXED: 19.AUG.80 / G. STEVENS
DESRIPTION OF FIX:
TABLE PROCEDURES FOR NOT NORMALIZED
NUMBERS NOW CHECK FOR A TRUE ZERO AS A RESULT OF
NORMALIZING AND INVOKE THE COMPARE ZERO PROCEDURE
IF BOTH ARGUMENTS ARE ZERO.
*
PROBLEM 4: AN OVERFLOW WITH NOTRAP SOMETIMES RETURNS
GARBAGE IN THE RESULT.
DATE FIXED: 20.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
FIXED A TYPO IN UNFLNT THAT WAS CAUSING
AN INCORRECT PARAMETER TO BE PASSED TO THE MOVE
PROCEDURE.
*
PROBLEM 5: ONLY THE ADBIAS AND SUBIAS PROCEDURES SET
THE UNDERFLOW AND OVERFLOW FLAGS THUS A NOTRAP
UNDERFLOW OR OVERFLOW CONDITION IS NOT SIGNALED
IN THE STATUS BYTE.
DATE FIXED: 21.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
THE OVERFLOW AND UNDERFLOW FLAGS ARE
NOW SET IN THE PROCEDURES THAT CHECK FOR OVERFLOW
UNDERFLOW INSTEAD OF THE ONES THAT ADD AND SUBTRACT
THE BIAS.
*
PROBLEM 6: THE TABLE PROCEDURE THAT HANDLES THE CASE
OF DIVIDE BY A NORMAL ZERO SIGNALS AN INVALID OP.
OF 17 AND RETURNS AN NAN IF THE DIV BY ZERO TRAP
IS ENABLED. IT APPEARS THAT THIS IOP( 17 ) IS NOT
NEEDED AND THAT THE RESULT OF A DIVISION BY ZERO
NORMALIZED ZERO SHOULD ALWAYS BE A PROPERLY SIGNED
INFINITY.
DATE FIXED: G. STEVENS / 21.AUG.80
DESCRIPTION OF FIX: REMOVED ANY TEST FOR THE DIV
TRAP FROM THE PROCEDURE DIVZER SO THAT IT ONLY
RETURNS PROPERLY SIGNED INFINITIES.
*
PROBLEM 7: OUTS WILL GOES INTO AN INFINITE LOOP
WHEN IT IS PASSED NOT NORMALIZED NUMBERS IN
PARTICULAR AN UNNORMALIZED ZERO.
DATE FIXED: G. STEVENS / 22.AUG.80
DESCRIPTION OF FIX:
PUT A TRAP FOR UNNORMAL ZEROS AT THE
START OF THE OUTS PROCEDURE, ALSO INSERTED THE
CORRECT CONSTANTS FOR THE LOG10X OF THE SMALL
NORMALIZED VALUES.
*
PROBLEM 8: ROUND DOES NOT SET THE INEXACT RESULT
FLAG IF THE RESULT ACTUALLY REQUIRES ROUNDING.
DATE FIXED: 21.AUG.80 / G. STEVENS
DESRIPTION OF FIX:
ADDED CODE TO ROUND TO SET THE INEXACT
RESULT FLAG IN THE STATUS BYTE IN THE EVENT
THAT ROUNDING IS REQUIRED.
*
PROBLEM 9: UNDERFLOW WILL NOT BE SIGNALED IF THE
EXPONENT OF THE RESULT EQUALS EXACTLY THE
MINIMUM EXPONENT - 1. SIMILARILY, OVERFLOW
IS NOT SIGNALED IF THE RESULT EQUALS EXACTLY
THE MAXIMUM EXPONENT + 1.
DATE FIXED: 25.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
A NEW MINIMUM EXPONENT TABLE IS USED
IN CHECK_UNDERFLOW & THE CONDITIONAL EXPRESSION
IS USED IN CHECK_OVERFLOW.
*
PROBLEM 10: IF THE UNORDERED CONDITION OCCURS
IN A PREDICATE COMPARE WHERE THE INPUT
PREDICATE WAS = OR <> THEN THE UNORDERED
BIT IN THE FPCB IS NOT SET.
DATE FIXED: 26.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
INSERTED THE PROPER LOGIC IN STEP II OF
COMPARE TO SET THE UNORDERED FLAG WHEN UNORDERED
OCCURS.
*
PROBLEM 11: SOMETIMES BINDEC SETS THE INEXACT BIT WHEN
THE RESULT WAS EXACT
DATE FIXED: 26.AUG.80 / G. STEVENS
DESCRIPTION OF FIX:
DECIDED THAT IN ACCORDANCE WITH THE STANDARD
THE RESULT OF BINDEC SHOULD NEVER BE EXACT AND THAT THE
USER SHOULD BE AWARE OF THIS. GIVEN THIS THE INEXACT BIT
IS NOW ALWAYS CLEARED UPON EXIT FROM BINDEC.
*
PROBLEM 12: TRAPPING NANS CAUSE ALL SORTS OF FUNNY THINGS
TO HAPPEN. ALSO, THE STATUS BYTES IN THE FPCB ARE NOT
SET AT THE TIME OF A TRAP INVOCATION.
DATE FIXED: 8-26-80
DESCRIPTION OF FIX: MOVE THE CODE IN FRNBAK THAT MOVES THE
TEMPORARY STATUS FROM THE STACK FRAME TO THE FPCB FROM
'CLSTAK' TO 'TRAP'. ALSO CLEAR TSTAT AFTER THE TRAP
IS TAKEN.
*
PROBLEM 13: IOP 7 (P OR K) OUT OF RANGE DOESN'T WORK PROPERLY
FOR EITHER BINDEC OR DECBIN.
DATE FIXED: 8 - 27 - 80
DESCRIPTION OF FIX: CHECK FOR P AND K OUT OF RANGE
IF P IS OUT OF RANGE DO IOP=7 AND SET P=19.
IF K IS OUT OF RANGE DO IOP=7 AND SET K=17
*
PROBLEM 14: OVERFLOW NOTRAP ENABLED WITH ROUNDING MODE=RP AND
WITH A NEGATIVE NORMALIZED RESULT GIVES THE LARGEST
POSITIVE NUMBER RATHER THAN THE LARGEST NEGATIVE
NUMBER. ALSO RM, NEGATIVE RESULT GIVES PLUS INFINITY
INSTEAD OF MINUS INFINITY
DATE FIXED: 27 AUG. 1980
DESCRIPTION OF FIX: FIXED TYPOS IN 'NOTRAP'
*
PROBLEM 15: THE INEXACT FLAG IS NOT BEING SET PROPERLY
IN DECBIN.
DATE FIXED:
DECRIPTION OF FIX:
*
PROBLEM 16: THIS IS NOT EXACTLY A WART; BUT, RATHER, IS
AN UPDATE TO MAKE THE PACKAGE AGREE WITH DRAFT 6.0.
DENORMALIZED NUMBERS IN ROUNDING MODES RP OR RM WILL
NO LONGER FORCE NORMALIZE MODE.
DATE FIXED: 29 AUG 1980
DESCRIPTION OF FIX: CHANGED GETPUT TO IGNORE RP AND
RM IN NORMALIZE MODE TEST.
*